{"type": "gameStart", "map": "2fort5r", "numPlayers": 1, "numTeams": 2, "time": 0, "demo": "2020-09-04_01-06-47_[2fort5r]_ettin.mvd", "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "playerStart", "player": "ettin", "classtime": 0, "time": 0, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 19, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 20, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 21, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 21, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 22, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 22, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 23, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 23, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 24, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 24, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 25, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 25, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 26, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 26, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 27, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 28, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 28, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 30, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 30, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 31, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 34, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "kill", "kind": "enemy", "player": "world", "playerClass": 0, "playerTeam": 0, "target": "", "targetClass": 0, "targetTeam": 2, "inflictor": "worldspawn", "time": 39, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "death", "kind": "enemy", "attacker": "world", "attackerClass": 0, "attackerTeam": 0, "player": "", "playerClass": 0, "playerTeam": 2, "inflictor": "worldspawn", "time": 39, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 58, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 64, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 64, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 65, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 65, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 66, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 66, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 67, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 67, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 68, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 68, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 69, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 69, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 70, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 76, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 77, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 83, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 84, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 84, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 85, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 85, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 88, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 88, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 95, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 96, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 96, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 121, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 122, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 122, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 123, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 130, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 131, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 131, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 132, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "attack", "player": "ettin", "playerClass": "9", "inflictor": "spanner", "time": 132, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "kill", "kind": "enemy", "player": "world", "playerClass": 0, "playerTeam": 0, "target": "", "targetClass": 0, "targetTeam": 2, "inflictor": "worldspawn", "time": 136, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "death", "kind": "enemy", "attacker": "world", "attackerClass": 0, "attackerTeam": 0, "player": "", "playerClass": 0, "playerTeam": 2, "inflictor": "worldspawn", "time": 136, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "damageDone", "kind": "self", "player": "", "playerClass": 9, "playerTeam": 2, "target": "ettin", "targetClass": 9, "targetTeam": 2, "inflictor": "building_sentrygun", "damage": 115, "time": 136, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "damageTaken", "kind": "self", "attacker": "", "attackerClass": 9, "attackerTeam": 2, "player": "ettin", "playerClass": 9, "playerTeam": 2, "inflictor": "building_sentrygun", "damage": 115, "time": 136, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "changeClass", "player": "ettin", "playerClass": 9, "nextClass": 0, "team": 2, "timePlayed": 157, "time": 157, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "changeClass", "player": "torture", "playerClass": 3, "nextClass": 0, "team": 2, "timePlayed": 220, "time": 220, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "changeClass", "player": "torture", "playerClass": 3, "nextClass": 0, "team": 0, "timePlayed": 980, "time": 1200, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "teamScores", "team1Score": 0, "team2Score": 0, "team1Name": "blue", "team2Name": "red", "winningTeam": 0, "time": 1200, "gameTimeStamp": "2020-09-04T01:06:57.787Z"},
{"type": "gameEnd", "time": 1200, "gameTimeStamp": "2020-09-04T01:06:57.787Z"}